#ifndef _SERVICE_H_
#define _SERVICE_H_

#include <glib.h>
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-bindings.h>
#include <dbus/dbus-glib-lowlevel.h>

/*对接fcitx-shuoxie设置*/
#define DBUS_SHUOXIE_SERVICE_PATH  "/shuoxie"
#define DBUS_SHUOXIE_SERVICE       "org.fcitx.ShuoXie"

#define TYPE_SHUOXIE_SERVICE       (shuoxie_service_get_type ())
#define SHUOXIE_SERVICE(object)         (G_TYPE_CHECK_INSTANCE_CAST ((object), M_TYPE_TEST_SERVICE, ShuoXieService))
#define SHUOXIE_SERVICE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), M_TYPE_TEST_SERVICE, ShuoXieServiceClass))
#define IS_SHUOXIE_SERVICE(object)      (G_TYPE_CHECK_INSTANCE_TYPE ((object), M_TYPE_TEST_SERVICE))
#define IS_SHUOXIE_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), M_TYPE_TEST_SERVICE))
#define SHUOXIE_SERVICE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), M_TYPE_TEST_SERVICE, ShuoXieServiceClass))

G_BEGIN_DECLS

typedef enum {
    E_SIGNAL_SEND_WORD,
    E_SIGNAL_COUNT
} ShuoXieServiceSignal ;

#define SIGNAL_SENDWORD "send_word"


typedef struct _ShuoXieService ShuoXieService;
typedef struct _ShuoXieServiceClass ShuoXieServiceClass;

struct _ShuoXieService {
        GObject parent;
};

struct _ShuoXieServiceClass {
    GObjectClass parent;
};

ShuoXieService *shuoxie_service_new (void);
GType shuoxie_service_get_type (void);
void shuoxie_serice_sendword(ShuoXieService* service, const gchar* string);


G_END_DECLS

#endif
